package v1

import (
	"video-api/internal/model/input"
	"video-api/internal/model/out"

	"github.com/gogf/gf/v2/frame/g"
)

type ShortDramasReq struct {
	g.Meta `path:"/shortDramas" method:"post" summary:"短剧列表" tags:"短剧管理"`
	input.ShortDramaList
}

type ShortDramasRes struct {
	List []*out.ShortDramaEntity `json:"list"`
}

type ShortDramaDetailReq struct {
	g.Meta `path:"/shortDramaDetail" method:"post" summary:"短剧详情" tags:"短剧管理"`
	input.ShortDramaDetail
}

type ShortDramaEpisodesPlayEventReq struct {
	g.Meta `path:"/shortDramaEpisodesPlayEvent" method:"post" summary:"播放短剧剧集事件" tags:"短剧管理"`
	input.ShortDramaEpisodesPlayEvent
}

type ShortDramaEpisodesPlayEventRes struct {
}

type ShortDramaDetailRes struct {
	*out.ShortDramaEntity `json:"list"`
}

// TODO 测试参数,后期不需要传user_id,直接获取
type ShortDramaCollectReq struct {
	g.Meta `path:"/shortDramaCollect" method:"post" summary:"收藏短剧" tags:"短剧管理"`
	input.ShortDramaCollect
}

type ShortDramaCollectRes struct {
	IsCollect bool `json:"isCollect"`
}

type ShortDramaCollectListReq struct {
	g.Meta `path:"/shortDramaCollectList" method:"post" summary:"短剧收藏列表" tags:"短剧管理"`
	input.ShortDramaCollectList
}

type ShortDramaCollectListRes struct {
	List []*out.ShortDramaEntity `json:"list"`
}

type ShortDramaHistoryListReq struct {
	g.Meta `path:"/shortDramaHistoryList" method:"post" summary:"历史短剧列表" tags:"短剧管理"`
	input.ShortDramaHistoryList
}

type ShortDramaHistoryListRes struct {
	List []*out.ShortDramaEntity `json:"list"`
}

type ShortDramaHistoryRemReq struct {
	g.Meta `path:"/shortDramaHistoryRem" method:"post" summary:"删除历史记录" tags:"短剧管理"`
	Id     int `json:"id" v:"required" description:"记录ID（示例：103）"`
}

type ShortDramaEpisodeReq struct {
	g.Meta `path:"/episode" method:"post" summary:"短剧剧集信息" tags:"短剧管理"`
	input.ShortDramaEpisodes
}
